
// animal.hpp
#pragma once
#include <memory>

class Animal {
public:
  virtual void sound() = 0;
  virtual ~Animal() = default;
};

using AnimalPtr = std::unique_ptr<Animal>;